Skip to content

Add BRC-141: NotaryHash — privacy-preserving signed-hash notarization with SPV-verifiable certificates - #163

Merged
sirdeggen merged 1 commit into
bsv-blockchain:masterfrom
codenlighten:brc-notaryhash
Jul 30, 2026
Merged

Add BRC-141: NotaryHash — privacy-preserving signed-hash notarization with SPV-verifiable certificates#163
sirdeggen merged 1 commit into
bsv-blockchain:masterfrom
codenlighten:brc-notaryhash

Conversation

@codenlighten

Copy link
Copy Markdown
Contributor

BRC-141: NotaryHash — Privacy-Preserving Signed-Hash Notarization with SPV-Verifiable Certificates

Proposes a transaction format and a self-contained certificate for anchoring a signed hash to the blockchain. A signer proves they signed a specific hash; the on-chain anchor fixes that proof in time. The notarizing service never sees the document and never handles a client private key.

Highlights

  • Privacy: only SHA-256(content) + a signature over it ever leave the client.
  • Deterministic integrity root: a fixed length-prefixed binary encoding (not JSON.stringify), reproducible across implementations.
  • Post-quantum first-class: ECDSA, ML-DSA (FIPS 204), SLH-DSA (FIPS 205).
  • Trustless (SPV) verification: certificates carry an SPV envelope so the anchor is confirmed against block headers alone (BRC-9/10/11; BRC-74/62 encodings permitted), with no dependency on the issuing service or any indexer.
  • Merkle batching: one transaction anchors many proofs (RFC 6962 root).

Adds apps/0141.md and indexes it in README.md and apps/README.md. (Happy to renumber if 141 is taken.)

A reference implementation, a dependency-light standalone verifier, and published test vectors exist (txid recomputation checked against the genesis coinbase; Merkle fold checked against the real block-170 proof). The format has been demonstrated end-to-end on BSV mainnet, verifying fully offline against independently obtained block headers.

sun-dive added a commit to sun-dive/BRCs-bmf that referenced this pull request Jul 19, 2026
BRC-141 was claimed by an earlier open PR (NotaryHash, bsv-blockchain#163); 142–144 are also taken by open PRs.
145 is the next free number (highest merged is 140). Rename apps/0141.md → apps/0145.md and update
the title, README index, and SUMMARY.
@sirdeggen
sirdeggen merged commit 70280d9 into bsv-blockchain:master Jul 30, 2026
sirdeggen added a commit that referenced this pull request Jul 30, 2026
Merges PR #162 from ty-everett:codex/wallet-prompt-liveness-brc.
Renumbered 141 -> 219 (141 claimed by PR #163, queued earlier for that slot).

Co-authored-by: Ty Everett <ty@projectbabbage.com>
@sirdeggen

Copy link
Copy Markdown
Collaborator

Merged as BRC-220 (renumbered from proposed BRC-141 due to a numbering clash with #162), commit 70280d9 on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants